// 导入axios
import axios from 'axios';
// import {
//   error
// } from 'shelljs';
// 进行一些全局配置
// 公共路由(网络请求地址)
// 后端的接口
axios.defaults.baseURL = 'http://zlay1.cn1.utools.club/';
// 请求响应超时时间
axios.defaults.timeout = 5000;
axios.defaults.withCredentials = true;
// axios请求拦截
// 封装自己的get/post方法
axios.interceptors.request.use((config) => {
  const token = localStorage.getItem('token')
  if (token) {
    // 请求头携带token
    config.headers.token = token
  }
  // console.log('正在加载...')
  return config
}, (error) => {
  return Promise.reject(error)
})
// 响应拦截器
axios.interceptors.response.use((response) => {
  // console.log('加载完毕...')
  return response
}, (error) => {
  // console.log('请求错误')
  console.log('errcode', error.response)
})

export default {
  get: function (path = '', data = {}) {
    return new Promise(function (resolve, reject) {
      axios.get(path, {
          params: data
        })
        .then(function (response) {
          // 按需求来，这里我需要的是response.data，所以返回response.data，一般直接返回response
          resolve(response.data);
        })
        .catch(function (error) {
          reject(error);
        });
    });
  },
  post: function (path = '', data = {}) {
    return new Promise(function (resolve, reject) {
      axios.post(path, data)
        .then(function (response) {
          // console.log(response)
          resolve(response.data);
        })
        .catch(function (error) {
          reject(error);
        });
    });
  },
  delete: function (path = '', data = {}) {
    return new Promise(function (resolve, reject) {
      axios.delete(path, {
          params: data
        })
        .then(function (response) {
          // 按需求来，这里我需要的是response.data，所以返回response.data，一般直接返回response
          resolve(response.data);
        })
        .catch(function (error) {
          reject(error);
        });
    });
  },
};
